Over the last few years, information technology (IT) organizations have increasingly adopted standards and best practices to ensure efficient IT service delivery. In this context, the IT Infrastructure Library (ITIL) has been rapidly adopted as the de facto standard. ITIL defines a set of standard processes for the management of IT service delivery organized in processes for Service Delivery (Service Level Management, Capacity Management, Availability Management, IT Continuity Management and Financial Management) and Service Support (Release Management, Configuration Management, Incident Management, Problem Management and Change Management). The Service Support processes, such as Configuration Management, Incident Management, and Configuration Management are some of the more common processes IT organizations have implemented to bring their service to an acceptable level for their businesses.
Service-Oriented Architecture (SOA) is an emerging concept that describes an architectural style or approach centered on the development of business processes packaged as services. SOA defines the IT infrastructure to allow different applications to exchange data and participate in the business processes. These functions are loosely coupled with the operating systems and programming languages underlying the applications.
It is common practice for users to capture service structure by defining service models. A service model is the representation of a service within the SOA. It defines the externally visible description, behavior, state, and operations available from a service to other services. The development of best practices is typically an evolutionary and collaborative process. Best practices are typically developed to improve the service models, thereby improving efficiency of IT services. Thus, best practices are often developed internally within an enterprise as well as externally by several enterprises working collaboratively in workgroups. However, the editing of a service model to incorporate one or more best practices is often performed by different authors that have different skills and different concerns depending on their perspective. Thus, editing of a service model by multiple authors may run into challenges such as software version control and management, including branch tree version control (e.g., fork reconciliation and branch tracking), version merge and update. In addition, maintaining a separation of concerns between the service model and best practices may be a challenge.